home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1997 January / Macworld (1997-01).dmg / Shareware World / Info / CSMP Digest / CSMP Digest Vol 4 No 2.text < prev    next >
Text File  |  1996-10-05  |  49KB  |  1,601 lines

  1. C.S.M.P. Digest             Wed, 25 Sep 96       Volume 4 : Issue 2
  2.  
  3. Today's Topics:
  4.  
  5.         68000 assembly
  6.         Andromeda MkLinux Web Page is up
  7.         Any XVT users out there?
  8.         Apple Mail
  9.         Button presses and DLOG boxes
  10.         FS : CodeWarrior 8 Academic
  11.         GetProcessInformation keeps crashing...
  12.         Help required in MPW -- Link
  13.         Is a 603e ok for development?
  14.         Newbie Question: Creating a progress bar
  15.         Questions about SmartHeap and others
  16.         ResolveAlias from full path
  17.         US - NYC - Mac-Networking Support - Career Opportunity
  18.         Window update question...
  19.         [Q] CW Pascal & OLDROUTINENAMES
  20.  
  21.  
  22.  
  23. The Comp.Sys.Mac.Programmer Digest is moderated by Mark Aiken
  24. (marka@ee.mcgill.ca).
  25.  
  26. The digest is a collection of article threads from the internet
  27. newsgroups comp.sys.mac.programmer.help, csmp.tools, csmp.misc and
  28. csmp.games. It is designed for people who read news semi-regularly and
  29. want an archive of the discussions.  If you don't know what a
  30. newsgroup is, you probably don't have access to it. Ask your systems
  31. administrator(s) for details. If you don't have access to news, you
  32. may still be able to post messages to the group by using a mail server
  33. like anon.penet.fi (mail help@anon.penet.fi for more information).
  34.  
  35. Each issue of the digest contains one or more sets of articles (called
  36. threads), with each set corresponding to a 'discussion' of a particular
  37. subject.  The articles are not edited; all articles included in this digest
  38. are in their original posted form (as received by our news server at
  39. ee.mcgill.ca).  Article threads are not added to the digest until the last
  40. article added to the thread is at least two weeks old (this is to ensure that
  41. the thread is dead before adding it to the digest).  Article threads that
  42. consist of only one message are generally not included in the digest.
  43.  
  44. The digests can be obtained by email, ftp or through the World Wide Web.
  45.  
  46. If you want to receive the digest by mail, send email to 
  47. majordomo@ee.mcgill.ca with no subject and one of the following commands
  48. as body:
  49.  
  50.     help                        Sends you a summary of commands
  51.     subscribe csmp                      Adds you to the mailing list
  52.     unsubscribe csmp                    Removes you from the list
  53.  
  54. Once you have subscribed, you will automatically receive each new
  55. issue as it is created.
  56.  
  57. Back issues are available by ftp from Info-Mac mirror sites in the
  58. per/csmp subdirectory, e.g.
  59.  
  60.   ftp://sumex-aim.stanford.edu/info-mac/per/csmp/
  61.  
  62. The contents of all back issues can be searched by accessing the
  63. following URL, courtesy of Andrew Barry (ajbarry@ozemail.com.au):
  64.  
  65.     http://marvin.stattech.com.au/search.html
  66.  
  67. They can also be searched through the following URLs, thanks to
  68. Tim Tuck (Tim.Tuck@sensei.com.au):
  69.  
  70.     http://wais.sensei.com.au/searchform.html
  71.     wais://wais.sensei.com.au:210/csmp?
  72.  
  73. -------------------------------------------------------
  74.  
  75. >From Harland Peelle <ece_0418@bigdog.engr.arizona.edu>
  76. Subject: 68000 assembly
  77. Date: Wed, 11 Sep 1996 12:59:57 +0000
  78. Organization: University of Arizona Student
  79.  
  80. This may sound weird but I need a shareware 68000 assembly language
  81. emulator for the Macintosh.  Im taking an assembly language class and we
  82. only have a DOS version.  It suck running under a old version of
  83. SoftPC.  If anyone can help. 
  84.  
  85. Please email if you can.
  86. ece_0418@bigdog.engr.arizona.edu
  87. Harland Peelle
  88.  
  89. +++++++++++++++++++++++++++
  90.  
  91. >From j-jahnke@uchicago.edu (Jerome Jahnke)
  92. Date: Thu, 12 Sep 1996 00:04:51 GMT
  93. Organization: BSD Academic Computing
  94.  
  95. In article <3236B7CA.3110@bigdog.engr.arizona.edu>,
  96. ece_0418@bigdog.engr.arizona.edu wrote:
  97.  
  98. > This may sound weird but I need a shareware 68000 assembly language
  99. > emulator for the Macintosh.  Im taking an assembly language class and we
  100. > only have a DOS version.  It suck running under a old version of
  101. > SoftPC.  If anyone can help. 
  102.  
  103. Huh? Let's back up one step, which do you need? An assembler? Or an
  104. emulated chip? If you you need the emulated chip, you are mostly in luck,
  105. as the PowerPC's have one in them, as does the 68K macs. If you need an
  106. assembler, find FantAsm I think there is a freeware/demoware/shareware
  107. version out there. Personally I use MPW's assembler (as ugly as it got when
  108. we got the PowerPC version, thank goodness I hardly know PPC assembly.)
  109.  
  110. Jer,
  111.  
  112. -- 
  113. Jerome Jahnke
  114. Biological Sciences Division/ Office of Academic Computing
  115. University of Chicago
  116.  
  117. ---------------------------
  118.  
  119. >From connorbd@cleo.bc.edu (Brian Connors)
  120. Subject: Andromeda MkLinux Web Page is up
  121. Date: 12 Sep 1996 14:22:31 GMT
  122. Organization: db&b
  123.  
  124. This is just to announce the arrival of the Project Andromeda web page at 
  125.  
  126.    http://www.cs.bc.edu/~connorbd/andromeda.html
  127.  
  128. There isn't much there yet, but do check it out if you're an MkLinux fan.
  129.  
  130. /Coach
  131.  
  132. ---------------------------
  133.  
  134. >From mars@netcom.com (Darren Giles)
  135. Subject: Any XVT users out there?
  136. Date: Fri, 13 Sep 1996 00:22:00 GMT
  137. Organization: NETCOM On-line Communication Services (408 261-4700 guest)
  138.  
  139. I'm looking for tools to expedite the GUI part of cross-platform development/
  140. porting, and have been surprised how few there appear to be.
  141.  
  142. XVT's stuff looks interesting so far -- but I'd really like to hear from
  143. anyone who's currently using it (or has at least evaluated it).
  144.  
  145. Any comments?
  146.  
  147. - Darren
  148.  
  149. ==========================================================================
  150. Darren Giles, Technical Director                   Terran Interactive, Inc.
  151. For info on Cleaner QuickTime compression, visit http://www.Terran-Int.com
  152.  
  153.  
  154. +++++++++++++++++++++++++++
  155.  
  156. >From davep@best.com (Dave Polaschek)
  157. Date: Thu, 12 Sep 1996 18:49:26 -0700
  158. Organization: Best Internet Communications
  159.  
  160. In article <marsDxnACo.JoD@netcom.com>, mars@netcom.com (Darren Giles) wrote:
  161.  
  162. > I'm looking for tools to expedite the GUI part of cross-platform development/
  163. > porting, and have been surprised how few there appear to be.
  164. > XVT's stuff looks interesting so far -- but I'd really like to hear from
  165. > anyone who's currently using it (or has at least evaluated it).
  166. > Any comments?
  167.  
  168. Darren,
  169.  
  170. The September MacTech magazine had an article about it. It was a mixed
  171. review.
  172.  
  173. -DaveP
  174.  
  175. -- 
  176. Dave Polaschek home:davep@best.com work:dpolasch@apple.com
  177.  
  178. ---------------------------
  179.  
  180. >From ccheatha <ccheatha@interserf.net>
  181. Subject: Apple Mail
  182. Date: 10 Sep 1996 21:04:39 GMT
  183. Organization: InterSerF.net, Fredericksburg, Virginia, USA
  184.  
  185. I'm working on an application that needs to generate a text
  186. file and mail it to various users.  (App written in JYACC's
  187. JAM product).
  188.  
  189. First, is this task feasible/possible?
  190.  
  191. Second, if so, anyone out there know of any techniques or 
  192. accomplished this task using Applemail?
  193.  
  194. Thanks for any help you may be able to provide.
  195.  
  196. Coston A. Cheatham, Jr.
  197.  
  198. ccheatha@interserf.net
  199.  
  200. +++++++++++++++++++++++++++
  201.  
  202. >From blob@ricochet.net
  203. Date: Tue, 10 Sep 1996 19:31:09 -0700
  204. Organization: (none)
  205.  
  206. In article <514l57$4sd@ns.interserf.net>, ccheatha <ccheatha@interserf.net>
  207. wrote:
  208.  
  209. > First, is this task feasible/possible?
  210.  
  211. Sure.  I'd recommend using standard Internet protocols.  Sample code would
  212. be included in the Newswatcher source code at
  213. <ftp://ftp.acns.nwu.edu/pub/newswatcher>.
  214.  
  215. > Second, if so, anyone out there know of any techniques or 
  216. > accomplished this task using Applemail?
  217.  
  218. AppleMail/AOCE/PowerTalk is a technology which is no longer viable.  The
  219. next time Apple changes the Finder, it will no longer work at all, because
  220. AOCE depends upon a Finder extension, and there are no engineers working on
  221. keeping AOCE alive, and no plans to keep it alive.  It's dead.
  222.  
  223. Use standard protocols instead, just like Apple is now doing.
  224.  
  225. -- 
  226. (Pointers to other Mac programming web sites at
  227. <http://devworld.apple.com/dev/geeks.html>)
  228.  
  229. +++++++++++++++++++++++++++
  230.  
  231. >From gga@it.ntu.edu.au (Giles Alexander)
  232. Date: 12 Sep 1996 13:37:00 GMT
  233. Organization: Northern Territory University
  234.  
  235. ccheatha (ccheatha@interserf.net) wrote:
  236. : I'm working on an application that needs to generate a text
  237. : file and mail it to various users.  (App written in JYACC's
  238. : JAM product).
  239.  
  240. : First, is this task feasible/possible?
  241.  
  242. If you are using an AppleTalk network, this is remarkably easy: AppleEvents.
  243. Just dump the text file into an AppleEvent and use the PPCBrowser to
  244. select users.  Works very nicely, quite easy to write as well...
  245.  
  246. Regards,
  247. Giles
  248.  
  249. ---------------------------
  250.  
  251. >From Josh Birnbaum <J_Birnbaum@fbp-ny.com>
  252. Subject: Button presses and DLOG boxes
  253. Date: Sat, 07 Sep 1996 16:33:44 -0500
  254. Organization: Raz¯r Rug
  255.  
  256. Hello,
  257.  
  258. I'm currently in the middle of a control panel project that amongst other things has a 
  259. Dialog based About Box containing an OK button to dismiss the box after use. I've used 
  260. the following code to draw a thick outline around the box and to dissmiss the box after 
  261. it receives a return button push from the keyboard or a mouse click.
  262. The problem is that while mouse clicks work fine, keyboard return key downs do nothing. 
  263. Heres the code thats part of a switch branching statement to handle button presses in 
  264. the cdev and the pertinant variable declarations:
  265.  
  266. short        itemType;
  267. Handle       itemHandle;
  268. short        the_item;
  269. Rect         itemRect;
  270.    
  271. short        itemHit;
  272.  
  273. case INFO_PICT_ITEM:
  274.                  theDialog = GetNewDialog( kNewDLOG, 0L, (WindowPtr)-1L );
  275.                  // GetDItem( theDialog, OK_ITEM, &itemType, &OKHandle, &itemRect ); 
  276.                  ShowWindow( theDialog );
  277.                  SetPort( theDialog );
  278.                  GetDItem( theDialog, OK_ITEM, &itemType, &itemHandle, &itemRect );
  279.                  InsetRect( &itemRect, -4, -4 );
  280.                  PenSize( 3, 3 );
  281.                  FrameRoundRect( &itemRect, 16, 16 );
  282.                  PenSize( 1, 1 );
  283.                  SysBeep(1);
  284.                  
  285.                  ModalDialog( NULL, &itemHit );
  286.                  while ( itemHit != OK_ITEM )
  287.                      ModalDialog( NULL, &itemHit );
  288.                    
  289.                 
  290.                  DisposeDialog( theDialog );
  291.  
  292.          }
  293.          break;
  294.    }
  295.    return ( cdev_storage );        
  296. }
  297.  
  298.  
  299. Any answers to this would be greatly apprecitated.
  300.  
  301. Thanx,
  302.  
  303. Josh Birnbaum
  304.  
  305. +++++++++++++++++++++++++++
  306.  
  307. >From btcarey@primenet.com (Brent A. Carey)
  308. Date: 8 Sep 1996 01:45:02 -0700
  309. Organization: Primenet Services for the Internet
  310.  
  311. >                  ModalDialog( NULL, &itemHit );
  312.  
  313. ModalDialog expects a ProcPtr or NIL.  This is the only thing I can see. 
  314. I'm not sure what NULL is or does in this context.  I'm a fairly new
  315. programmer, but I have used very similar code to what you have there, and
  316. passed NIL.
  317.  
  318. I hope this helps.
  319.  
  320. Brent
  321.  
  322. +++++++++++++++++++++++++++
  323.  
  324. >From angill@gil.ipswichcity.qld.gov.au (Andrew Gillanders)
  325. Date: Mon, 9 Sep 1996 13:07:07 GMT
  326. Organization: Wicked Design
  327.  
  328. In article <btcarey-0809960145580001@news.primenet.com>,
  329. btcarey@primenet.com (Brent A. Carey) wrote:
  330.  
  331. > >                  ModalDialog( NULL, &itemHit );
  332. > ModalDialog expects a ProcPtr or NIL.  This is the only thing I can see. 
  333. > I'm not sure what NULL is or does in this context.  I'm a fairly new
  334. > programmer, but I have used very similar code to what you have there, and
  335. > passed NIL.
  336. > I hope this helps.
  337. > Brent
  338.  
  339. NIL and NULL are the same thing. They just represent a long int (4 bytes)
  340. equal to zero.
  341.  
  342. Andrew
  343.  
  344. +++++++++++++++++++++++++++
  345.  
  346. >From angill@gil.ipswichcity.qld.gov.au (Andrew Gillanders)
  347. Date: Mon, 9 Sep 1996 13:10:31 GMT
  348. Organization: Wicked Design
  349.  
  350. In article <3231EA47.1718@fbp-ny.com>, Josh Birnbaum
  351. <J_Birnbaum@fbp-ny.com> wrote:
  352.  
  353. > Hello,
  354. > I'm currently in the middle of a control panel project that amongst
  355. other things has a 
  356. > Dialog based About Box containing an OK button to dismiss the box after
  357. use. I've used 
  358. > the following code to draw a thick outline around the box and to
  359. dissmiss the box after 
  360. > it receives a return button push from the keyboard or a mouse click.
  361. > The problem is that while mouse clicks work fine, keyboard return key
  362. downs do nothing. 
  363. > Heres the code thats part of a switch branching statement to handle
  364. button presses in 
  365. > the cdev and the pertinant variable declarations:
  366. [snip]
  367.  
  368. > Any answers to this would be greatly apprecitated.
  369. > Thanx,
  370. > Josh Birnbaum
  371.  
  372. The dialogue manager associates the return key with item 1 in the dialogue
  373. item list. Check in ResEdit that the OK button is item 1 in the list.
  374.  
  375. HTH
  376. Andrew
  377.  
  378. +++++++++++++++++++++++++++
  379.  
  380. >From andym@netmanage.com
  381. Date: Thu, 12 Sep 96 11:48:44 +0000
  382. Organization: (none)
  383.  
  384. In article <3231EA47.1718@fbp-ny.com>, Josh Birnbaum
  385. ><J_Birnbaum@fbp-ny.com> wrote:
  386. >
  387. >> Hello,
  388. >> 
  389. >> I'm currently in the middle of a control panel project that amongst
  390. >other things has a 
  391. >> Dialog based About Box containing an OK button to dismiss the box after
  392. >use. 
  393. [snip]
  394.  
  395.  
  396. You need an event filter to intercept mousedowns . Like this:
  397. In your CP:
  398.  
  399. case INFO_PICT_ITEM:
  400.  
  401. DoModal()
  402. break;
  403. /******/
  404.  
  405. void DoModal(void)
  406.  
  407.   {
  408.    GrafPtr oldPort;
  409.    UserItemUPP        procForBorderUserItem = nil;
  410.    ModalFilterUPP        modalUPP=nil;
  411.    
  412.    GetPort(&oldPort);//save old port! 
  413.    theDialog = GetNewDialog( kNewDLOG, 0L, (WindowPtr)-1L );
  414.     // do error checking here
  415.  
  416.    SetPort (theDialog);
  417.     modalUPP = NewModalFilterProc(MyFilter);// UPP of your custom filter
  418.     
  419.     //install callback to draw the thick outline around OK button
  420.      procForBorderUserItem = NewUserItemProc(DrawButtonBorder);    
  421.  
  422.      //In Resedit create a User item and place it over the OK button
  423.      
  424.      GetDItem( theDialog, OK_USER_ITEM, &itemType, &myHandle, &itemRect ); 
  425.      SetDItem( theDialog, OK_USER_ITEM, itemType, (Handle)procForBorderUserItem, &itemRect 
  426. ); 
  427.      DrawDialog(); // Draw all items in the dlg
  428.    //Enter the modality:-)
  429.      do
  430.      {
  431.        ModalDialog(MyFilter, &itemHit);
  432.          
  433.            switch(itemHit)
  434.           // Respond to hits on various items in the dlg  
  435.  
  436.             {
  437.              case kBlahItem:
  438.                   DoBlah();
  439.                   break;
  440.               }//end switch
  441.        
  442.       }while(itemHit!= OK_ITEM)
  443.  
  444. //Cleanup:
  445.  
  446.   if(modalUPP) 
  447.      DisposeRoutineDescriptor(modalUPP);
  448.   if(procForBorderUserItem)
  449.      DisposeRoutineDescriptor(procForBorderUserItem);
  450.    DisposeDialog(theDialog);
  451.    SetPort(oldPort);
  452.  
  453. }// end DoModal()
  454.      
  455.  
  456. /************************/
  457. //Here's the event filter.Handle the event  before Dlg Manager 
  458.  
  459. pascal Boolean MyFilter(DialogPtr currentDialog, EventRecord *theEventIn,short *
  460. theDialogItem)
  461. {
  462.     
  463.     Boolean     returnVal = FALSE;
  464.     long        waitTicks;
  465.     short        itemKind;
  466.     Handle        itemHandle;
  467.     Rect        itemRect;
  468.     Point         pt;
  469.     char         theKey, theChar;
  470.     
  471.     switch(theEventIn->what)
  472.     {
  473.     case keyDown:
  474.     case autoKey:
  475.             theChar = theEventIn->message &charCodeMask;
  476.                theKey = (theEventIn->message &keyCodeMask) >>8;//extract key code.
  477.             
  478.             switch(theKey)
  479.             {
  480.                 case 0x4C://return or enter
  481.                 case 0x24:
  482.                     
  483.                     *theDialogItem = OK_ITEM;// this is your ItemHit
  484.                GetDItem(currentDialog,OK_ITEM,&itemKind,&itemHandle,&itemRect);
  485.                     HiliteControl((ControlHandle)itemHandle,inButton);
  486.                     Delay(8,&waitTicks);// wait about 8 ticks 
  487.                     HiliteControl((ControlHandle)itemHandle,FALSE);
  488.                     returnVal = TRUE;// Notify Dlg Manager that we handled the event
  489.                     break;
  490.             
  491.                 
  492.                 }
  493.         
  494.             break;
  495.             
  496.  
  497.     
  498.     }
  499.         
  500.     return returnVal;
  501.     
  502.     }
  503. //End MyFilter(...)
  504.  
  505.     
  506. /*****/
  507.  
  508. Here's  the function that will be called by the Dlg manager every time there's an null or 
  509. update event - a callback in other words. This will draw a  3 pixel outline around the OK 
  510. button
  511. /**********/
  512.  
  513.  
  514. pascal void DrawButtonBorder(WindowPtr theDialog, short theItem)
  515.  
  516. {
  517. #pragma unused (theItem)
  518.     Handle            theControl;
  519.     short            aType;
  520.     Rect            aRect;
  521.  
  522.     GetDItem((DialogPtr)theDialog, theItem, &aType, &theControl, &aRect);
  523.     
  524.     PenSize(3,3);
  525.     InsetRect(&aRect, -2, -2);
  526.     FrameRoundRect(&aRect, 16,16);
  527. }
  528. /***/
  529.  
  530. HTH, Andy
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.  
  540.  
  541.  
  542.  
  543. ---------------------------
  544.  
  545. >From hhasan@cs.utexas.edu (Humayun Hasan)
  546. Subject: FS : CodeWarrior 8 Academic
  547. Date: Wed, 11 Sep 1996 21:05:21 -0600
  548. Organization: Humayun Hasan
  549.  
  550. For Sale
  551.  
  552. CodeWarrior 8 Acadmeic edition  $40
  553.  
  554. Please reply by e-mail  hhasan@cs.utexas.edu
  555.  
  556. +++++++++++++++++++++++++++
  557.  
  558. >From MWRon@metrowerks.com (MW Ron)
  559. Date: Thu, 12 Sep 1996 10:34:05 -0400
  560. Organization: Metrowerks
  561.  
  562. In article <hhasan-1109962105210001@ccc-b2.cocomm.utexas.edu>,
  563. hhasan@cs.utexas.edu (Humayun Hasan) wrote:
  564.  
  565. >For Sale
  566. >
  567. >CodeWarrior 8 Acadmeic edition  $40
  568. >
  569. >Please reply by e-mail  hhasan@cs.utexas.edu
  570.  
  571. It is legal to resell CodeWarrior, however remember you sell your license
  572. to use CodeWarrior not any particular version.  If you sell an older
  573. version you no longer have the right to use the current version.  If the
  574. purchaser buys an older CodeWarrior version he should register it and he
  575. then has the rights to any discount for renewal and the rights to any
  576. updates due to the original purchase.  
  577.  
  578. If you sell an Academic version it is up to the seller to ensure that the
  579. buyer is eligible to purchase an Academic version.  
  580.  
  581. In all cases there should just be one legal user of CodeWarrior with the
  582. same serial number.  If someone purchase an older version of CodeWarrior
  583. he should receive a bill of sale and should register that purchase with
  584. Metrowerks.  If the buyer fails to register and the original owner
  585. continues to use CodeWarrior the buyer is using an illegal copy.  If the
  586. buyer registers and the original owner continues to use CodeWarrior the
  587. original owner is then using an illegal copy.
  588.  
  589. Ron
  590.  
  591. -- 
  592. METROWERKS                   Ron Liechty
  593. "Software at Work"    MWRon@metrowerks.com
  594. http://www.metrowerks.com/about/people/rogues.html#mwron
  595.  
  596. +++++++++++++++++++++++++++
  597.  
  598. >From hhasan@cs.utexas.edu (Humayun Hasan)
  599. Date: Thu, 12 Sep 1996 10:41:48 -0500
  600. Organization: Humayun Hasan
  601.  
  602. This software no longer for sale.
  603.  
  604. In article <hhasan-1109962105210001@ccc-b2.cocomm.utexas.edu>,
  605. hhasan@cs.utexas.edu (Humayun Hasan) wrote:
  606.  
  607. > For Sale
  608. > CodeWarrior 8 Acadmeic edition  $40
  609. > Please reply by e-mail  hhasan@cs.utexas.edu
  610.  
  611. +++++++++++++++++++++++++++
  612.  
  613. >From hhasan@cs.utexas.edu (Humayun Hasan)
  614. Date: Thu, 12 Sep 1996 11:32:37 -0500
  615. Organization: Humayun Hasan
  616.  
  617. This software no longer for sale.
  618.  
  619. In article <hhasan-1109962105210001@ccc-b2.cocomm.utexas.edu>,
  620. hhasan@cs.utexas.edu (Humayun Hasan) wrote:
  621.  
  622. > For Sale
  623. > CodeWarrior 8 Acadmeic edition  $40
  624. > Please reply by e-mail  hhasan@cs.utexas.edu
  625.  
  626. ---------------------------
  627.  
  628. >From ericb@pobox.com (Eric Bennett)
  629. Subject: GetProcessInformation keeps crashing...
  630. Date: 12 Sep 1996 01:52:40 GMT
  631. Organization: Penn State University
  632.  
  633. I'm trying to write a short program to list all processes and some info
  634. about them.  Here's what I wrote:
  635.  
  636. ======================================================
  637. /* List all running processes */
  638.  
  639. #include <stdio.h>
  640. #include <processes.h>
  641.  
  642. int main (void)
  643.  
  644. {
  645.     ProcessInfoRec            currentInfo;
  646.     ProcessSerialNumber             currentProcess;
  647.     OSErr                 result;
  648.  
  649.  
  650.     currentProcess.highLongOfPSN = kNoProcess;
  651.     currentProcess.lowLongOfPSN = kNoProcess;
  652.     result = GetNextProcess (¤tProcess); /* get first process */
  653.  
  654.     if (result == 0)
  655.     {
  656.         do
  657.         {
  658.             result = GetProcessInformation (¤tProcess, ¤tInfo);
  659.             
  660.             if (result == 0)
  661.             {
  662.                  printf ("active time %ld.\n", currentInfo.processActiveTime);
  663.                 result = GetNextProcess (¤tProcess);
  664.             }
  665.             else
  666.             {printf ("GetProcessInformation failed; error %ld.", result);}
  667.         }
  668.         while (result == 0);
  669.     }
  670.     else
  671.     {printf ("Something really strange is wrong.");}
  672.     
  673.     return (0);
  674. }
  675. ======================================================
  676.  
  677.  
  678. If I just run the code by itself, it crashes with a type 11 error.  I
  679. also ran it in the CodeWarrior debugger.  I set a breakpoint at the
  680. GetProcessInformation call.  When execution stops at the breakpoint,
  681. currentProcess.highLongOfPSN is zero and lowLongOfPSN is $2000, which
  682. is the Finder (so says ProcessWatcher's "process serial number"
  683. information).  Thus, all would seem well, but when I try to step past
  684. GetProcessInformation, the debugger immediately catches a bus error.
  685.  
  686. If I step into the toolbox call, the following assembly (which means
  687. nothing to me :-) comes up:
  688.  
  689. 01762A8C: lwz      r12,452(RTOC)
  690. 01762A90: stw      RTOC,20(SP)
  691. 01762A94: lwz      r0,0(r12)
  692. 01762A98: lwz      RTOC,4(r12)
  693. 01762A9C: mtctr    r0
  694. 01762AA0: bctr
  695.  
  696. The bus error is caught on the last line of the assembly.
  697.  
  698. I am using CodeWarrior 8 on a PowerCenter 150 running 7.5.3 revision 2.
  699.  Any help would be greatly appreciated.
  700.  
  701.  
  702.  
  703. -Eric Bennett (ericb@pobox.com; http://www.pobox.com/~ericb)
  704.  
  705. Drawing on my fine command of the language, I said nothing.
  706. -Robert Benchley
  707.  
  708. +++++++++++++++++++++++++++
  709.  
  710. >From david_rehring@gdt.com (David Rehring)
  711. Date: Wed, 11 Sep 1996 19:16:36 -0700
  712. Organization: GDT Softworks, Inc.
  713.  
  714. In article <517qd8$147s@r02n01.cac.psu.edu>, ericb@pobox.com (Eric
  715. Bennett) wrote:
  716.  
  717. >>I'm trying to write a short program to list all processes and some info
  718. >>about them.  Here's what I wrote:
  719. >>
  720. ...crashing code removed
  721. >>>
  722. >>
  723. >>If I just run the code by itself, it crashes with a type 11 error.  I
  724. >>also ran it in the CodeWarrior debugger.  I set a breakpoint at the
  725. >>GetProcessInformation call.  When execution stops at the breakpoint,
  726. >>currentProcess.highLongOfPSN is zero and lowLongOfPSN is $2000, which
  727. >>is the Finder (so says ProcessWatcher's "process serial number"
  728. >>information).  Thus, all would seem well, but when I try to step past
  729. >>GetProcessInformation, the debugger immediately catches a bus error.
  730. >>
  731. >>If I step into the toolbox call, the following assembly (which means
  732. >>nothing to me :-) comes up:
  733. >>
  734. ...some disassembled code removed
  735. >>
  736. >>The bus error is caught on the last line of the assembly.
  737. >>
  738. >>I am using CodeWarrior 8 on a PowerCenter 150 running 7.5.3 revision 2.
  739. >> Any help would be greatly appreciated.
  740. >>
  741. >>
  742. >>
  743. >>-Eric Bennett (ericb@pobox.com; http://www.pobox.com/~ericb)
  744. >>
  745. >>Drawing on my fine command of the language, I said nothing.
  746. >>-Robert Benchley
  747.  
  748. Eric,
  749.  
  750. I would suggest initializing the toolbox properly.
  751.  
  752. Something like:
  753.  
  754.     InitGraf((Ptr) &sQDGlobals->thePort);     // Toolbox Managers
  755.     InitFonts();
  756.     InitWindows();
  757.     InitMenus();
  758.     TEInit();
  759.     InitDialogs(nil);
  760.  
  761. Later,
  762.  
  763. -- 
  764. David Rehring
  765. Senior Software Engineer
  766. GDT Softworks, Inc.
  767. And all around insane guy!
  768.  
  769. +++++++++++++++++++++++++++
  770.  
  771. >From ericb@pobox.com (Eric Bennett)
  772. Date: 12 Sep 1996 11:44:16 GMT
  773. Organization: Penn State University
  774.  
  775. In article <david_rehring-1109961916360001@news.aurora.net>
  776. david_rehring@gdt.com (David Rehring) writes:
  777.  
  778. > I would suggest initializing the toolbox properly.
  779. > Something like:
  780. >     InitGraf((Ptr) &sQDGlobals->thePort);     // Toolbox Managers
  781. >     InitFonts();
  782. >     InitWindows();
  783. >     InitMenus();
  784. >     TEInit();
  785. >     InitDialogs(nil);
  786.  
  787. Hmmm... I've never written a Mac-specific app in an environment that
  788. didn't do all this for me, so now let me ask:
  789.  
  790. 1.  I'm running this in a SIOUX window.  Since SIOUX uses menus and
  791. windows itself, it has to have initialized these things already; why
  792. would I have to make these calls again?
  793.  
  794. 2.  Even if I initialize the toolbox (see new source below) it still
  795. crashes.  The debugger still catches a bus error when I call
  796. GetProcessInformation.
  797.  
  798.  
  799. ======================================================================
  800. /* List all running processes */
  801.  
  802. #include <stdio.h>
  803. #include <processes.h>
  804. #include <menus.h>
  805. #include <windows.h>
  806. #include <string.h>
  807.  
  808. int main (void)
  809.  
  810. {
  811.  
  812.     ProcessInfoRec            currentInfo;
  813.     ProcessSerialNumber     currentProcess;
  814.     OSErr                     result;
  815.  
  816.     InitGraf(&qd.thePort);     //qd defined in MacHeaders
  817.     InitFonts();
  818.     InitWindows();
  819.     InitMenus();
  820.     TEInit();
  821.     InitDialogs(nil);
  822.  
  823.     currentProcess.highLongOfPSN = kNoProcess;
  824.     currentProcess.lowLongOfPSN = kNoProcess;
  825.     result = GetNextProcess (¤tProcess); /* first process */
  826.  
  827.     if (result == 0)
  828.     {
  829.         do
  830.         {
  831.             result = GetProcessInformation (¤tProcess,
  832.                                                 ¤tInfo);
  833.             
  834.             if (result == 0)
  835.             {
  836.                  printf ("active time %ld.\n",
  837.                               currentInfo.processActiveTime);
  838.                 result = GetNextProcess (¤tProcess);
  839.             }
  840.             else
  841.             {
  842.                 printf ("err %ld; proc %ld,%ld.",
  843.                               result,
  844.                               currentProcess.highLongOfPSN,
  845.                               currentProcess.lowLongOfPSN);
  846.             }
  847.         }
  848.         while (result == 0);
  849.     }
  850.     else
  851.     {
  852.     printf ("Something really strange is wrong.");
  853.     }
  854.     
  855.     return (0);
  856. }
  857. ==========
  858.  
  859.  
  860. -Eric Bennett (ericb@pobox.com; http://www.pobox.com/~ericb)
  861.  
  862. Drawing on my fine command of the language, I said nothing.
  863. -Robert Benchley
  864.  
  865. +++++++++++++++++++++++++++
  866.  
  867. >From ericb@pobox.com (Eric Bennett)
  868. Date: 12 Sep 1996 12:37:33 GMT
  869. Organization: Penn State University
  870.  
  871. In article <david_rehring-1109961916360001@news.aurora.net>
  872. david_rehring@gdt.com (David Rehring) writes:
  873.  
  874. > I would suggest initializing the toolbox properly.
  875. > Something like:
  876. >     InitGraf((Ptr) &sQDGlobals->thePort);     // Toolbox Managers
  877. >     InitFonts();
  878. >     InitWindows();
  879. >     InitMenus();
  880. >     TEInit();
  881. >     InitDialogs(nil);
  882.  
  883. I realize I didn't say that I was running SIOUX, but that's one of
  884. those things that (to me--obviously not to everyone else) I thought was
  885. assumed since I just started printf-ing without having set up any
  886. console window of my own.  Since SIOUX uses menus and windows itself,
  887. it has to have initialized these things already; why would I have to
  888. make these calls again?  Since I wasn't clear, though, you may not have
  889. known that I was using SIOUX.  Sorry.
  890.  
  891. Someone pointed out in email that I'm failing to initialize certain
  892. fields in the process info record.  That was the actual problem; next
  893. time perhaps I will be smart enough to continue on to the next page of
  894. Inside Mac (I really wish I had the books rather than PDF files) just
  895. to make sure there isn't more info there that I neglected to read. :-)
  896.  
  897.  
  898. -Eric Bennett (ericb@pobox.com; http://www.pobox.com/~ericb)
  899.  
  900. Drawing on my fine command of the language, I said nothing.
  901. -Robert Benchley
  902.  
  903. +++++++++++++++++++++++++++
  904.  
  905. >From schiffer@stars.gsfc.nasa.gov (Francis H Schiffer, 3rd)
  906. Date: Thu, 12 Sep 1996 08:42:05 -0400
  907. Organization: NASA Goddard Space Flight Center -- Greenbelt, Maryland USA
  908.  
  909. In article <518t2g$16q4@r02n01.cac.psu.edu>, ericb@pobox.com (Eric
  910. Bennett) wrote:
  911.  
  912. >1.  I'm running this in a SIOUX window.  Since SIOUX uses menus and
  913. >windows itself, it has to have initialized these things already; why
  914. >would I have to make these calls again?
  915.  
  916. SIOUX initializes the managers at the point of the first call to either
  917. input from or output to the SIOUX console.  If you want to use the SIOUX
  918. initialization make sure that your application starts with something like
  919.  
  920.    #include    <stdio.h>
  921.  
  922.    int main( void ) 
  923.    {
  924.       printf( "My program\n" );
  925.    ...
  926.  
  927. >2.  Even if I initialize the toolbox (see new source below) it still
  928. >crashes.  The debugger still catches a bus error when I call
  929. >GetProcessInformation.
  930.  
  931. The ProcessInfoRec must be initialized before you call the process
  932. manager.  Your code passes the currentInfo address without initializing
  933. any of the fields in the record.  eg
  934.  
  935.    ProcessInfoRec currentInfo;
  936.    currentInfo.processInfoLength = sizeof( currentInfo );
  937.    currentInfo.processName    = 0; /* not interested in process name */
  938.    currentInfo.processAppSpec = 0; /* not interesed in location of file */
  939.    /* now it is safe to call GetProcessInformation */
  940.  
  941. If you want either the process name or the location of the application's
  942. file, you need to initialize these pointers with real values. 
  943. currentInfo.processName should point to a unsigned character array with at
  944. least 32 bytes of storage space.  currentInfo.processAppSpec should point
  945. to an FSSpec. 
  946.  
  947. This information was taken from the Apple documentation on the Process
  948. Manager, which is included in Apple's MPTA.
  949.  
  950.    skip
  951. --
  952. Francis H Schiffer, 3rd              speaking only for myself
  953. schiffer@stars.gsfc.nasa.gov   aka   skip@lhsdesigns.jagunet.com
  954.  
  955. ---------------------------
  956.  
  957. >From csattana@magnus.acs.ohio-state.edu (RS Sattanathan)
  958. Subject: Help required in MPW -- Link
  959. Date: 10 Sep 1996 04:23:19 GMT
  960. Organization: The Ohio State University
  961.  
  962. Hi,
  963.  
  964. I am new to Mac programming, also a new MPW user.  I am getting the  
  965. following error while Linking my program:
  966.  
  967.   ### Link: Error: Jump table offset into code segment is greater
  968.                    than 32k
  969.  
  970. Could someone advice me on what the problem is and how to overcome this.
  971.  
  972. Thanks
  973.  
  974. -- 
  975. R.S.Sattanathan
  976. Dept. of Mechanical Engineering, The Ohio State University
  977. e-mail : sattanathan.1@osu.edu
  978.  
  979. +++++++++++++++++++++++++++
  980.  
  981. >From gregb@genmagic.com (Greg Branche)
  982. Date: Tue, 10 Sep 1996 12:18:38 -0700
  983. Organization: General Magic
  984.  
  985. In article <512qfn$7lt@charm.magnus.acs.ohio-state.edu>,
  986. csattana@magnus.acs.ohio-state.edu (RS Sattanathan) wrote:
  987.  
  988. > I am new to Mac programming, also a new MPW user.  I am getting the  
  989. > following error while Linking my program:
  990. >   ### Link: Error: Jump table offset into code segment is greater
  991. >                    than 32k
  992. > Could someone advice me on what the problem is and how to overcome this.
  993.  
  994. The problem is that the code segment has grown too big.  Code segments in
  995. the 68k Mac architecture are usually limited to 32k, due to the use of
  996. 16-bit offsets in the CPU operands.
  997.  
  998. There are a few different ways to solve the problem.  The best way is to
  999. analyze your program, looking for ways to break it down into smaller code
  1000. segments.  You can "partition" your application at compile time with
  1001. #pragma segment directives, or at link time using command line options. 
  1002. Other options include using -srtsg, or branch islands.
  1003.  
  1004. "Building and Managing Programs in MPW" may contain some useful
  1005. information.  There are probably many Mac programming tutorials that can
  1006. explain this better than I can, although I can't supply any particular
  1007. titles.
  1008.  
  1009. Greg Branche
  1010. Magic Cap Entomologist
  1011. General Magic, Inc.
  1012.  
  1013. +++++++++++++++++++++++++++
  1014.  
  1015. >From mouser@zercom.net (Martin-Gilles Lavoie)
  1016. Date: 12 Sep 1996 12:56:45 GMT
  1017. Organization: Groupimage, inc.
  1018.  
  1019. In article <512qfn$7lt@charm.magnus.acs.ohio-state.edu>,
  1020. csattana@magnus.acs.ohio-state.edu (RS Sattanathan) wrote:
  1021.  
  1022. > Hi,
  1023. > I am new to Mac programming, also a new MPW user.  I am getting the  
  1024. > following error while Linking my program:
  1025. >   ### Link: Error: Jump table offset into code segment is greater
  1026. >                    than 32k
  1027. > Could someone advice me on what the problem is and how to overcome this.
  1028. > Thanks
  1029.  
  1030. This occurs when you're linking an applicaytion using 16-bit wide jumps,
  1031. rather than 32-bit wide jumps.  There are a number of things you can do to
  1032. get rid of this error, and each solution depends on your actual needs
  1033. (will this stuff be used on a 68000 computer, or 68020 and above?).
  1034.  
  1035. Sometimes, just changing the '.o' files order in the link command line
  1036. make this dissapear, but there are simpler things you can do.  For
  1037. instance, you can instruct the compiler and/or linker to produce "branch
  1038. islands" that is, a jump instruction to another jump instruction that
  1039. finally ends up in the target code.  This requires extra jump(s) so may
  1040. not be the best thing (such as within a tight loop).  You can also
  1041. instruct the linker and compiler to generate 32-bit code, which doesn't
  1042. require extra jumps.  Check out
  1043.  
  1044.     help link
  1045.  
  1046. and 
  1047.  
  1048.     help sc
  1049.  
  1050. (or whatever compiler you're using.  Following is a partial help text
  1051. containing command-line options of interest for your particular problem.
  1052.  
  1053. help link
  1054. Link            # link an application, tool, or resource
  1055.     -br off                 # do not generate branch islands (default)
  1056.     -br on                  # generate branch islands where needed
  1057.     -br 020                 # generate 32-bit branch islands where needed
  1058.     -model far              # process 32-bit load-time relocatable references
  1059.     -model near             # prohibit 32-bit load-time relocatable references
  1060.  
  1061. help sc
  1062. SC                          # Symantec C compiler
  1063.     -b                      # produce pc relative strings and functions
  1064.     -b2                     # produce pc relative strings and functions,
  1065. overlay equal strings
  1066.     -b3                     # produce pc relative strings
  1067.     -bigseg                 # generate code for single large segment
  1068.     -mc68020                # generate MC68020 code (for 68K only)
  1069.     -mc68030                # generate MC68030 code (for 68K only)
  1070.     -mc68040                # generate MC68040 code (for 68K only)
  1071.     -mc68881                # generate MC68881 code for arithmetic
  1072. operations (for 68K only)
  1073.     -model farCode          # generate load-time relocatable 32-bit
  1074. references for code,
  1075.         | farData           #   data,
  1076.         | far               #   or both (for 68K only)
  1077.     -model nearCode         # generate 16-bit references for code, 
  1078.         | nearData          #   data,
  1079.         | near              #   or both (default)
  1080.  
  1081. -- 
  1082. Martin-Gilles Lavoie
  1083. "The only trinary-state binary system known to live"
  1084. [Develop issue 24, page 4]
  1085.  
  1086. ---------------------------
  1087.  
  1088. >From neath@psyclops.psych.purdue.edu (Ian Neath)
  1089. Subject: Is a 603e ok for development?
  1090. Date: 12 Sep 1996 12:59:33 GMT
  1091. Organization: Purdue University
  1092.  
  1093. I saw a Performa Tower advertized with a 180 mhz 603e CPU, 16 MB RAM
  1094. and a 1.2 gig HD.  For less than $3000, you can get this with a 15"
  1095. monitor, keyboard, 24 mb ram, System 7.5.3, etc.  The only thing
  1096. it appears to be missing is an ethernet card (cd, modem, etc., are
  1097. ther).
  1098.  
  1099. Is it better to go with this than a 604 for development?  This is
  1100. a relatively small time project, mainly writing simulations to
  1101. accompany a text book.  However, speed is critical and low price
  1102. is critical.  I'll be using CW10 (when it ships).  Finally, would
  1103. this run SoftWindows (either 95 or 3.1)?  I have to deliver 
  1104. windoze code also.  Thanks in advance
  1105.  
  1106. --
  1107.       Ian Neath        | There are four kinds of people in this world:
  1108. neath@psych.purdue.edu | cretins, fools, morons and lunatics - U. Eco
  1109.  
  1110. +++++++++++++++++++++++++++
  1111.  
  1112. >From nick@chem.ucla.edu ( nick.c )
  1113. Date: Thu, 12 Sep 1996 14:45:44 -0800
  1114. Organization: Binary Poet & Molecular Sculptor
  1115.  
  1116.  
  1117.  
  1118. neath@psyclops.psych.purdue.edu (Ian Neath) wrote:
  1119.  
  1120. >Is it better to go with this than a 604 for development?  This is
  1121. >a relatively small time project, mainly writing simulations to
  1122. >accompany a text book.  However, speed is critical and low price
  1123. >is critical.  I'll be using CW10 (when it ships).  Finally, would
  1124. >this run SoftWindows (either 95 or 3.1)?  I have to deliver 
  1125. >windoze code also. 
  1126.  
  1127.  
  1128.       Your 180 MHz 603e should be fast enough for just about anything
  1129.         you want to build.  The 16mb of ram should be enough too,
  1130.         but if you can squeeze a little more money out of the project
  1131.         you might want to try for 24mb of ram.
  1132.  
  1133.       I believe you can run Softwindows on this machine, but if 
  1134.         you're doing Windows development, you really should have a 
  1135.         windows machine around for debugging.
  1136.  
  1137.  
  1138.  -------------------= Nicholas C. DeMello, Ph.D. =--------------------
  1139.  
  1140.    Internet: nick@chem.ucla.edu        _/   _/  _/  _/_/_/   _/   _/  
  1141.         AOL: codeweaver               _/_/ _/  _/  _/   _/  _/_/_/ 
  1142.         CIS: 71232,766               _/ _/_/  _/  _/       _/ _/    
  1143.        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  1144.  
  1145. ---------------------------
  1146.  
  1147. >From Thomas Reid <97ttr@williams.edu>
  1148. Subject: Newbie Question: Creating a progress bar
  1149. Date: 12 Sep 1996 04:50:00 GMT
  1150. Organization: Williams College
  1151.  
  1152.     Is there some easy way to easily (as in through a few toolbox routines)
  1153. create and update the ubiquitous progress bar?  It seems so standard that
  1154. there ought to be an easy, universal way to do it.
  1155.  
  1156. -Thomas Reid
  1157.  
  1158. +++++++++++++++++++++++++++
  1159.  
  1160. >From nick@chem.ucla.edu ( nick.c )
  1161. Date: Thu, 12 Sep 1996 15:05:11 -0800
  1162. Organization: Binary Poet & Molecular Sculptor
  1163.  
  1164.  
  1165.  
  1166.  Thomas Reid <97ttr@williams.edu> wrote:
  1167.  
  1168. >        Is there some easy way to easily (as in through a few toolbox routines)
  1169. >create and update the ubiquitous progress bar?  It seems so standard that
  1170. >there ought to be an easy, universal way to do it.
  1171.  
  1172.  
  1173.  
  1174.  I remeber there was a freeware PowerPlant class for this:
  1175.  
  1176.  <ftp://ftp.metrowerks.com/pub/powerplant/Dialog_and_Alert/CModalProgress.hqx>
  1177.  
  1178.  I don't remember how independent it code is--it might only work within
  1179.    a powerplant (an application class library from Metrowerks) application.
  1180.    At the very least requires C++, but I do remember it worked really well.
  1181.  
  1182.  There is also a modeal progress cdef at:
  1183.  
  1184.  <ftp://mirrors.aol.com/pub/info-mac/_Development/progress-cdef.hqx>
  1185.  
  1186.  That has sample code in the "read me".  I can't say how well that one
  1187.    works though.
  1188.  
  1189.  
  1190.  -------------------= Nicholas C. DeMello, Ph.D. =--------------------
  1191.  
  1192.    Internet: nick@chem.ucla.edu        _/   _/  _/  _/_/_/   _/   _/  
  1193.         AOL: codeweaver               _/_/ _/  _/  _/   _/  _/_/_/ 
  1194.         CIS: 71232,766               _/ _/_/  _/  _/       _/ _/    
  1195.        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  1196.  
  1197. ---------------------------
  1198.  
  1199. >From seapine@one.net (Richard R. Riccetti)
  1200. Subject: Questions about SmartHeap and others
  1201. Date: Tue, 10 Sep 1996 13:07:36 -0500
  1202. Organization: Riccetti and Associates
  1203.  
  1204. Does anyone out there have experience with SmartHeap?
  1205.  
  1206. Is it compatible with PowerPlant and CW/9?
  1207.  
  1208. Did it noticably improve your application's performance?
  1209.  
  1210. Are there less expensive, but still effective alternatives?
  1211.  
  1212. Thanks in advance.
  1213. --Rick Riccetti
  1214.  
  1215. =====================================================================
  1216. Seapine Software, Inc.                    internet: info@seapine.com
  1217. 1066 Seapine Court                           voice: 513.683.6456
  1218. Maineville, OH 45039                           fax: 513.683.1781
  1219.  
  1220. TestTrack - Bug Tracking the Macintosh Way  <http://www.seapine.com>
  1221. =====================================================================
  1222.  
  1223. +++++++++++++++++++++++++++
  1224.  
  1225. >From dent@highway1.com.au (Andy Dent)
  1226. Date: Wed, 11 Sep 1996 11:55:26 +0800
  1227. Organization: A.D. Software
  1228.  
  1229. In article <seapine-ya023060031009961307360001@news.one.net>,
  1230. seapine@one.net (Richard R. Riccetti) wrote:
  1231.  
  1232. >Is it compatible with PowerPlant and CW/9?
  1233. Absolutely.
  1234.  
  1235. >
  1236. >Did it noticably improve your application's performance?
  1237. We haven't done enough benching to be sure, but have a major PP app under
  1238. development (about 50 screens) with which I can do some testing. Probably
  1239. have some results in a month.
  1240.  
  1241. Our main use of SmartHeap is for debugging, although CodeWarrior's
  1242. DebugNew is getting close to the same utility. The nice thing about
  1243. SmartHeap is that is cross-platform. I feel a lot safer when our OOFILE
  1244. test suite has run through SH on both Mac and Windows.
  1245.  
  1246. Andy Dent, Product Architect, A.D. Software, Western Australia
  1247. OOFILE - "the cross-platform OODBMS that speaks c++"
  1248. ftp://ftp.highway1.com.au/pub/adsoftware/oofile/
  1249. http://www.highway1.com.au/adsoftware/oofile.html
  1250.  
  1251. +++++++++++++++++++++++++++
  1252.  
  1253. >From gav@mag1.magmacom.com (Gavriel State)
  1254. Date: 11 Sep 1996 13:48:54 -0400
  1255. Organization: Magma Communications Ltd., Ottawa, Ont., Canada
  1256.  
  1257. In article <seapine-ya023060031009961307360001@news.one.net>,
  1258. Richard R. Riccetti <seapine@one.net> wrote:
  1259. >Is it compatible with PowerPlant and CW/9?
  1260.  
  1261. Yes.
  1262.  
  1263. >Did it noticably improve your application's performance?
  1264.  
  1265. Yes.
  1266.  
  1267. >Are there less expensive, but still effective alternatives?
  1268.  
  1269. There are various debugging memory mangers out there (DebugNew, 
  1270. etc.), but I don't know of any faster allocaters.  It was 
  1271. certainly worth the price for us.
  1272.  
  1273. --
  1274.      Gavriel State | Lead Developer - CorelDRAW! for Macintosh
  1275. - -----------------------------------------------------------------
  1276.    This is a private account; I don't speak for Corel from here.
  1277.  
  1278. +++++++++++++++++++++++++++
  1279.  
  1280. >From kjohnson@transparent.com (Kent Johnson)
  1281. Date: Thu, 12 Sep 1996 01:22:33 GMT
  1282. Organization: Transparent Language, Inc.
  1283.  
  1284. In article <seapine-ya023060031009961307360001@news.one.net>,
  1285. seapine@one.net (Richard R. Riccetti) wrote:
  1286.  
  1287. > Does anyone out there have experience with SmartHeap?
  1288. > Is it compatible with PowerPlant and CW/9?
  1289. Yes, it links right in. It also has an API if you want more control.
  1290. > Are there less expensive, but still effective alternatives?
  1291.  
  1292. I bought SmartHeap for the debugging support and I was disappointed.
  1293. Specifically, for CodeWarrior applications that don't use malloc and don't
  1294. have memory-related performance problems, I don't think SmartHeap offers
  1295. anything that DebugNew can't do just as well.
  1296.  
  1297. On the other hand, if you use malloc, use other compilers, want a portable
  1298. tool, or want to speed up new, NewPointer or NewHandle, it looks like a
  1299. great product.
  1300.  
  1301. Kent Johnson                                kjohnson@transparent.com
  1302. Transparent Language, Inc.                http://www.transparent.com
  1303.  
  1304. ---------------------------
  1305.  
  1306. >From "David Catmull" <dtc@pixar.com>
  1307. Subject: ResolveAlias from full path
  1308. Date: 10 Sep 96 09:24:58 -0700
  1309. Organization: Pixar
  1310.  
  1311. Yeah, it's me again..
  1312.  
  1313. After using NewAliasMinimalFromFullPath to create an alias to an item on a
  1314. remote server (which is not mounted), I call ResolveAlias. As documented,
  1315. ResolveAlias should, if necessary, prompt the user for a name and password
  1316. for mounting the volume. Instead, I get an error -35: no such volume. When
  1317. I do these things while the volume is already mounted, or while another
  1318. volume on the same server is mounted, it works just fine.
  1319.  
  1320. I tried using MatchAlias instead:
  1321.  
  1322. FSSpec spec;
  1323. Boolean needsUpdate;
  1324. short aliasCount = 1;
  1325. AliasHandle alias;
  1326.  
  1327. // (after creating the alias)
  1328. err =
  1329. MatchAlias(0L,kARMMountVol,alias,&aliasCount,&spec,&needsUpdate,0L,0L);
  1330.  
  1331. ..but got error -50: parameter error. Anybody know what I'm doing wrong?
  1332.  
  1333. David Catmull
  1334. dtc@pixar.com
  1335. http://www.geocities.com/SiliconValley/Park/1906/
  1336. "In order to be truly absurd you must have a coherent point of view." -Bill
  1337. Griffith
  1338.  
  1339.  
  1340.  
  1341.  
  1342. +++++++++++++++++++++++++++
  1343.  
  1344. >From jumplong@aol.com (Jump Long)
  1345. Date: 12 Sep 1996 23:59:37 -0400
  1346. Organization: America Online, Inc. (1-800-827-6364)
  1347.  
  1348. David Catmull wrote:
  1349. >After using NewAliasMinimalFromFullPath to create an alias to an
  1350. >item on a remote server (which is not mounted), I call
  1351. >ResolveAlias. As documented, ResolveAlias should, if necessary,
  1352. >prompt the user for a name and password for mounting the volume.
  1353. >Instead, I get an error -35: no such volume. When I do these
  1354. >things while the volume is already mounted, or while another
  1355. >volume on the same server is mounted, it works just fine.
  1356.  
  1357. 1) Make sure you supply the zoneName and serverName parameters. If you
  1358. don't, the Alias Manager will assume that the alias is to something on a
  1359. mounted volume and it it doesn't find a volume with that name, you'll get
  1360. a nsvErr (-35) error result.
  1361.  
  1362. 2) Remember that the fullpath parameter is a text buffer (not a Pascal
  1363. string), and that the zoneName and serverName parameters *are* Pascal
  1364. strings.
  1365.  
  1366. 3) Make sure the fullPath parameter is really a full pathname. A common
  1367. mistake is to pass "VolumeName" (which isn't a full pathname) instead of
  1368. "VolumeName:" (which is a full pathname). A full pathname always contains
  1369. at least one colon character and never starts with a colon.
  1370.  
  1371. - Jim Luther
  1372.  
  1373. ---------------------------
  1374.  
  1375. >From brianm@datacom1.com (Datacom )
  1376. Subject: US - NYC - Mac-Networking Support - Career Opportunity
  1377. Date: Thu, 12 Sep 1996 19:52:57 GMT
  1378. Organization: Datacom Technology Group Inc
  1379.  
  1380.  
  1381. Prestigious American corporation based in mid-town, is currently
  1382. searching for an experienced Macintosh support professional.
  1383.  
  1384. Candidates must have 2 to 3 years experience in a Mac support role,
  1385. preferably with some PC knowledge. You will be responsible for
  1386. supporting hardware and software for several key business groups.
  1387.  
  1388. Candidates must have some knowledge of the following products: Quark,
  1389. Photoshop, and networking protocols and O/S's such as IPX/SPX, TCP/IP,
  1390. and Novell.
  1391.  
  1392. My client offers a superb salary and benefits package, and an
  1393. excellent career opportunity.
  1394.  
  1395. All interested parties are encouraged to apply.
  1396.  
  1397. Contact:
  1398.  
  1399. Brian Mitchell
  1400. Datacom Technology Group Inc
  1401. 212-629-5720
  1402. 212-629-3374(FAX)
  1403. brianm@datacom1.com 
  1404.  
  1405.  
  1406.  
  1407. ---------------------------
  1408.  
  1409. >From aegaa@uni-halle.de (koehler)
  1410. Subject: Window update question...
  1411. Date: 12 Sep 1996 11:08:11 GMT
  1412. Organization: University Halle, Germany
  1413.  
  1414.  
  1415. Subject: Window update question...
  1416. Newsgroups: comp.sys.mac.programmer.help
  1417. Summary: 
  1418. Keywords: 
  1419.  
  1420. Hello,
  1421.  
  1422. When I played around a bit with Powerplant and wanted to display are quite
  1423. dark picture in a document Window (for 'About..' purposes) I saw a white
  1424. flicker (Window erase) everytime the window was redrawn. Why?
  1425.  
  1426. Is this a system feature for all doc-windows???
  1427.  
  1428. Is this caused by PP (checked the sources, but found nothing)???
  1429.  
  1430. Or is it due to Aaron (but I saw it even in the blank system environment)???
  1431.  
  1432. Please help...
  1433.  
  1434. Soeren Koehler (aegaa@cluster.urz.uni-halle.de)
  1435.  
  1436.  
  1437. +++++++++++++++++++++++++++
  1438.  
  1439. >From nick@chem.ucla.edu ( nick.c )
  1440. Date: Fri, 13 Sep 1996 14:56:06 -0800
  1441. Organization: Binary Poet & Molecular Sculptor
  1442.  
  1443.  
  1444. aegaa@uni-halle.de (koehler) wrote:
  1445.  
  1446. >When I played around a bit with Powerplant and wanted to display are quite
  1447. >dark picture in a document Window (for 'About..' purposes) I saw a white
  1448. >flicker (Window erase) everytime the window was redrawn. Why?
  1449.  
  1450.  
  1451.    Probably, you were erasing and redrawing the image you wanted
  1452.      to display--while it was being displayed.  This will cause 
  1453.      "flickering" as each element of the window is drawn.  What
  1454.      folks usually do, is draw the scene they want to create in
  1455.      a graphics port that is the same size as the window on the
  1456.      screen--but is located in a portion of the desktop that is
  1457.      outside the displayed area.  Then they move this finished
  1458.      image onto the top of the window they want to show it in.
  1459.      This off screen graphics creation can make animations a
  1460.      lot smoother.
  1461.  
  1462.    Check out Chapter 5 of Dan Parks _Graphics and Sound Programming
  1463.      Techniques_ (ISBN: 1-55851-442-2), around page 198 he talks
  1464.      about how to do this kind of stuff.
  1465.  
  1466.  
  1467.  -------------------= Nicholas C. DeMello, Ph.D. =--------------------
  1468.  
  1469.    Internet: nick@chem.ucla.edu        _/   _/  _/  _/_/_/   _/   _/  
  1470.         AOL: codeweaver               _/_/ _/  _/  _/   _/  _/_/_/ 
  1471.         CIS: 71232,766               _/ _/_/  _/  _/       _/ _/    
  1472.        http://www.chem.ucla.edu/~nick/   _/  _/   _/_/_/  _/   _/     
  1473.  
  1474. +++++++++++++++++++++++++++
  1475.  
  1476. >From squires@crl.com (Scott Squires)
  1477. Date: Thu, 12 Sep 1996 15:43:41 -0800
  1478. Organization: Puffin Designs
  1479.  
  1480. In article <518qqn$i99@mlucom4.urz.uni-halle.de>,
  1481. aegaa@uni-halle.de (koehler) wrote:
  1482.  
  1483. >Hello,
  1484. >
  1485. >When I played around a bit with Powerplant and wanted to display are quite
  1486. >dark picture in a document Window (for 'About..' purposes) I saw a white
  1487. >flicker (Window erase) everytime the window was redrawn. Why?
  1488. >
  1489. >Is this a system feature for all doc-windows???
  1490. >
  1491. >Is this caused by PP (checked the sources, but found nothing)???
  1492. >
  1493. >Or is it due to Aaron (but I saw it even in the blank system environment)???
  1494. >
  1495. >Please help...
  1496.  
  1497.  
  1498. In Constructor turn off the Erase on Update for the window.
  1499. You an also set the color of the window to black so if there
  1500. is any updating/erasing it won't flash to white.
  1501.  
  1502. -scott
  1503.  
  1504.  
  1505. Scott Squires               "Insert funny stuff here"
  1506. squires@crl.com
  1507. ScottSquir@aol.com
  1508.  
  1509.  
  1510. ---------------------------
  1511.  
  1512. >From ericg@teleport.com (Eric Gorr)
  1513. Subject: [Q] CW Pascal & OLDROUTINENAMES
  1514. Date: 12 Sep 1996 18:26:14 GMT
  1515. Organization: Teleport - Portland's Public Access (503) 220-1016
  1516.  
  1517.  
  1518. I need to be able to use the 'inUpButton' defined in controls.p.
  1519. This is inside of a block {$IFC OLDROUTINENAMES}.
  1520. In a prefix file (defines.p), I have:
  1521.  
  1522.    {$SETC OLDROUTINENAMES = TRUE}
  1523.  
  1524. (I've also tried {$SETC OLDROUTINENAMES := 1} )
  1525.  
  1526. The compiler still doesn't see inUpButton, etc..
  1527.  
  1528. why?
  1529.  
  1530.  
  1531. ===Eric Gorr=================ericg@egi.com=================aka MystryMan===
  1532. _____              * http://www.teleport.com/~ericg *    
  1533. |\ /| * Invincibility is in oneself, vulnerability is in the opponent
  1534. | O | * Therefore the considerations of the intelligent always include both
  1535. |/_\|   benefit and harm (Sun Tzu)
  1536.  
  1537. #include <standard.disclaimer>
  1538. =====Insults, like violence, are the last resort of the incompetent...=====
  1539.  
  1540.  
  1541. +++++++++++++++++++++++++++
  1542.  
  1543. >From ingemar@lysator.liu.se (Ingemar Ragnemalm)
  1544. Date: 12 Sep 1996 21:47:53 GMT
  1545. Organization: (none)
  1546.  
  1547. ericg@teleport.com (Eric Gorr) writes:
  1548.  
  1549.  
  1550. >I need to be able to use the 'inUpButton' defined in controls.p.
  1551. >This is inside of a block {$IFC OLDROUTINENAMES}.
  1552. >In a prefix file (defines.p), I have:
  1553.  
  1554. >   {$SETC OLDROUTINENAMES = TRUE}
  1555.  
  1556. >(I've also tried {$SETC OLDROUTINENAMES := 1} )
  1557.  
  1558. >The compiler still doesn't see inUpButton, etc..
  1559.  
  1560. >why?
  1561.  
  1562. You changed the prefix file, but did you rebuild MacIntf?
  1563.  
  1564. --
  1565. - -
  1566. Ingemar Ragnemalm, PhD
  1567. Image processing, Mac shareware games
  1568. E-mail address: ingemar@isy.liu.se or ingemar@lysator.liu.se
  1569.  
  1570. ---------------------------
  1571.  
  1572. End of C.S.M.P. Digest
  1573. **********************
  1574.